/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.entity;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author Renato
 */
@Entity
@Table(name = "cod_presupuestal")
@NamedQueries({
    @NamedQuery(name = "CodPresupuestal.findAll", query = "SELECT c FROM CodPresupuestal c"),
    @NamedQuery(name = "CodPresupuestal.findByIdCodPresupuestal", query = "SELECT c FROM CodPresupuestal c WHERE c.idCodPresupuestal = :idCodPresupuestal"),
    @NamedQuery(name = "CodPresupuestal.findByDescCodPresupuestal", query = "SELECT c FROM CodPresupuestal c WHERE c.descCodPresupuestal = :descCodPresupuestal"),
    @NamedQuery(name = "CodPresupuestal.findByIdProgramaEspecifico", query = "SELECT c FROM CodPresupuestal c WHERE c.idProgramaEspecifico = :idProgramaEspecifico"),
    @NamedQuery(name = "CodPresupuestal.findByIdProgramaGenerico", query = "SELECT c FROM CodPresupuestal c WHERE c.idProgramaGenerico = :idProgramaGenerico")})
public class CodPresupuestal implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "id_cod_presupuestal")
    private String idCodPresupuestal;
    @Column(name = "desc_cod_presupuestal")
    private String descCodPresupuestal;
    @Column(name = "id_programa_especifico")
    private Character idProgramaEspecifico;
    @Column(name = "id_programa_generico")
    private Character idProgramaGenerico;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idCodPresupuestal")
    private List<Pedido> pedidoList;
    @OneToMany(mappedBy = "idCodPresupuestal")
    private List<CentroCosto> centroCostoList;

    public CodPresupuestal() {
    }

    public CodPresupuestal(String idCodPresupuestal) {
        this.idCodPresupuestal = idCodPresupuestal;
    }

    public String getIdCodPresupuestal() {
        return idCodPresupuestal;
    }

    public void setIdCodPresupuestal(String idCodPresupuestal) {
        this.idCodPresupuestal = idCodPresupuestal;
    }

    public String getDescCodPresupuestal() {
        return descCodPresupuestal;
    }

    public void setDescCodPresupuestal(String descCodPresupuestal) {
        this.descCodPresupuestal = descCodPresupuestal;
    }

    public Character getIdProgramaEspecifico() {
        return idProgramaEspecifico;
    }

    public void setIdProgramaEspecifico(Character idProgramaEspecifico) {
        this.idProgramaEspecifico = idProgramaEspecifico;
    }

    public Character getIdProgramaGenerico() {
        return idProgramaGenerico;
    }

    public void setIdProgramaGenerico(Character idProgramaGenerico) {
        this.idProgramaGenerico = idProgramaGenerico;
    }

    public List<Pedido> getPedidoList() {
        return pedidoList;
    }

    public void setPedidoList(List<Pedido> pedidoList) {
        this.pedidoList = pedidoList;
    }

    public List<CentroCosto> getCentroCostoList() {
        return centroCostoList;
    }

    public void setCentroCostoList(List<CentroCosto> centroCostoList) {
        this.centroCostoList = centroCostoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idCodPresupuestal != null ? idCodPresupuestal.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {

        if (!(object instanceof CodPresupuestal)) {
            return false;
        }
        CodPresupuestal other = (CodPresupuestal) object;
        if ((this.idCodPresupuestal == null && other.idCodPresupuestal != null) || (this.idCodPresupuestal != null && !this.idCodPresupuestal.equals(other.idCodPresupuestal))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "suministros.ejb30.entity.CodPresupuestal[idCodPresupuestal=" + idCodPresupuestal + "]";
    }

}
